/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package jforum.actions;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jforum.DAO.UserDAO;
import jforum.domain.User;
import jforum.security.HashUtil;
import jforum.util.DBConnector;

/**
 * Действие авторизации пользователя
 * @author Вадим
 */
public class LoginAction implements Action {

    public String perform(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String login=request.getParameter("login");
        String pass=request.getParameter("pass");
        pass=HashUtil.hash(pass);

        DBConnector conn=DBConnector.getInstance();
        UserDAO dao=new UserDAO(conn);

        User user=dao.Load(login);
        if (user==null) {
            request.getSession().setAttribute("errorMessage", "Такого пользователя не существует.");
            return ActionNames.error_page;
        }

        if (user.active <=0) {
            request.getSession().setAttribute("errorMessage", "Ваша регистрация еще не подтверждена.");
            return ActionNames.error_page;
        }

        // сравниваем введенный логин и пароль со значениями в БД, добавляем cookie.
        if (pass.equals(user.getPass())) {
            Cookie login_cookie=new Cookie("susername", login);
            Cookie pass_cookie=new Cookie("spassword", pass);
            response.addCookie(login_cookie);
            response.addCookie(pass_cookie);
            return ActionNames.index_page;
        } else {
            request.getSession().setAttribute("errorMessage", "Неправильный пароль.");
            return ActionNames.error_page;
        }

    }

}
